singularity

Chapter 10: Generic Types, Traits, and Lifetimes

Removing Duplication by Extracting a Function

Generic Data Types

In Function Definitions

In Struct Definitions

In Enum Definitions

In Method Definitions

Performance of Code Using Generics

Traits: Defining Shared Behavior

Defining a Trait

Implementing a Trait on a Type

Default Implementations

Traits as Parameters

Returning Types That Implement Traits

Using Trait Bounds to Conditionally Implement Methods

Validating References with Lifetimes

Preventing Dangling References with Lifetimes

The Borrow Checker

Generic Lifetimes in Functions

Lifetime Annotation Syntax

Lifetime Annotations in Function Signatures

Thinking in Terms of Lifetimes

Lifetime Annotations in Struct Definitions

Lifetime Elision

Lifetime Annotations in Method Definitions

The Static Lifetime

Generic Type Parameters, Trait Bounds, and Lifetimes Together